.\" RCSid $Id: dctimestep.1,v 1.14 2016/08/30 14:47:20 greg Exp $"
.TH DCTIMESTEP 1 12/09/09 RADIANCE
.SH NAME
dctimestep - compute annual simulation time-step(s) via matrix multiplication
.SH SYNOPSIS
.B dctimestep
[
.B "\-n nsteps"
][
.B "\-h"
][
.B "\-o ospec"
][
.B "\-i{f|d}
][
.B "\-o{f|d}
]
.B DCspec
[
.B skyf
]
.br
.B dctimestep
[
.B "\-n nsteps"
][
.B "\-h"
][
.B "\-o ospec"
][
.B "\-i{f|d}
][
.B "\-o{f|d}
]
.B Vspec
.B Tbsdf
.B Dmat.dat
[
.B skyf
]
.SH DESCRIPTION
.I Dctimestep
has two invocation forms.
In the first form,
.I dctimestep
is given a daylight coefficient specification and an optional sky
vector or matrix, which may be read from the standard input if unspecified.
The daylight coefficients are multiplied against these sky values
and the results are written to the standard output.
This may be a list of color values or a combined Radiance image,
as explained below.
.PP
In the second form,
.I dctimestep
takes four input files, forming a matrix expression.
The first argument is the View matrix file that specifies how window output
directions are related to some set of measured values, such as an array of
illuminance points or images.
This matrix is usually computed by
.I rfluxmtx(1)
or
.I rcontrib(1)
for a particular set of windows or skylight openings.
The second argument is the window transmission matrix, or BSDF, given as
a matrix or a standard XML description.
The third argument is the Daylight matrix file that defines how sky patches
relate to input directions on the same opening.
This is usually computed using
.I rfluxmtx
with separate runs for each window or skylight orientation.
The last file is the sky contribution vector or matrix,
typically computed by
.I genskyvec(1)
or
.I gendaymtx(1),
and may be passed on the standard input.
.PP
If the input sky data lacks a header, the
.I \-n
option may be used to indicate the number of time steps, which
will be 1 for a sky vector.
The sky input file must otherwise contain the number of
columns (time steps) specified in each sky patch row,
whether it is read from the standard input or from a file.
Input starts from the first patch at the first time step, then the
first patch at the second time step, and so on.
Note that all matrix elements are RGB triplets, so the actual size
of the sky vector or matrix is three times the number of steps times
the number of sky patches.
The
.I \-if
or
.I \-id
option may be used to specify that sky data is in float or double
format, respectively, which is more efficient for large matrices.
These options are unnecessary when the sky input includes a header.
.PP
Any of the matrix or vector files may be read from a command
instead of a file by
using quotes and a beginning exclamation point ('!').
.PP
The standard output of
.I dctimestep
is either a color vector with as many RGB triplets
as there are rows in the View matrix, or a combined
.I Radiance
picture.
Which output is produced depends on the first argument.
A regular file name will be loaded and interpreted as a matrix to
generate a color results vector.
A file specification containing a '%d' format string will be
interpreted as a list of
.I Radiance
component pictures, which will be summed according to the computed
vector.
.PP
The
.I \-o
option may be used to specify a file or a set of output files
to use rather than the standard output.
If the given specification contains a '%d' format string, this
will be replaced by the time step index, starting from 1.
In this way, multiple output pictures may be produced,
or separate result vectors (one per time step).
.PP
A header will normally be produced on the output, unless the
.I \-h
option is specified.
The
.I \-of
or
.I \-od
option may be used to specify IEEE float or double binary output
data, respectively.
.SH EXAMPLES
To compute workplane illuminances at 3:30pm on Feb 10th:
.IP "" .2i
gensky 2 10 15:30 | genskyvec | dctimestep workplaneDC.dmx > Ill_02-10-1530.dat
.PP
To compute an image at 10am on the equinox from a set of component images:
.IP "" .2i
gensky 3 21 10 | genskyvec | dctimestep dcomp%03d.hdr > view_03-21-10.hdr
.PP
To compute a set of illuminance contributions for Window 1 on
the Winter solstice at 2pm:
.IP "" .2i
gensky 12 21 14 | genskyvec | dctimestep IllPts.vmx Blinds20.xml Window1.dmx > Ill_12-21-14.dat
.PP
To compute Window2's contribution to an interior view at 12 noon on the Summer solstice:
.IP "" .2i
gensky 6 21 12 | genskyvec | dctimestep view%03d.hdr Blinds30.xml
Window2.dmx > view_6-21-12.hdr
.PP
To generate an hourly matrix of sensor value contributions from Skylight3
using a 3-phase calculation, where output columns are time steps:
.IP "" .2i
gendaymtx -of Tampa.wea | dctimestep WPpts.vmx
shade3.xml Skylight3.dmx > wp_win3.dat
.PP
Generate a series of pictures corresponding to timesteps
in an annual simulation:
.IP "" .2i
gendaymtx NYCity.wea | dctimestep -o tstep%04d.hdr dcomp%03d.hdr
.PP
To multiply an irradiance view matrix through a pair of XML window layers using
a given exterior daylight matrix and sky vector:
.IP "" .2i
dctimestep Illum.vmx "!rmtxop -ff Blinds1.xml Windo1.xml" Exter.dmx Jan20.sky
.PP
To multiply two matrices into a IEEE-float result with header:
.IP "" .2i
dctimestep -of Inp1.fmx Inp2.fmx > Inp1xInp2.fmx
.SH AUTHOR
Greg Ward
.SH "SEE ALSO"
gendaymtx(1), genskyvec(1), getinfo(1),
mkillum(1), rcollate(1), rcontrib(1),
rfluxmtx(1), rmtxop(1), rtrace(1), vwrays(1)
